package com.tedu.element;

/**
 * 表示游戏角色移动方向和爆炸方向的枚举
 */
public enum Direction {
    up(3, 0, -1),   // 角色向上移动
    down(0, 0, 1),  // 角色向下移动
    left(1, -1, 0), // 角色向左移动
    right(2, 1, 0); // 角色向右移动

    private final int spriteRow;

    public final int dx;
    public final int dy;

    Direction(int spriteRow, int dx, int dy) {
        this.spriteRow = spriteRow;
        this.dx = dx;
        this.dy = dy;
    }

    /**
     * 获取该方向对应的精灵图行索引
     * @return 精灵图行号(0-3)，爆炸方向返回-1
     */
    public int getSpriteRow() {
        return spriteRow;
    }
}